'''
一只青蛙一次可以跳上1级台阶，也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法
def frog(num):
　　　　if num <= 2:
　　　　　　return num
　　　　t1, t2 = 1, 2
　　　　for _ in range(3, num+1):
　　　　　　t1, t2 = t2, t1+t2
　　　　return t2

一只青蛙一次可以跳上1级台阶，也可以跳上2级......它也可以跳上n阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。
def frog(num):
　　　　if num==0:
　　　　　　return 0
　　　　return 2**(num-1)
'''

'''
# import pandas as pd
# def judge(date):
# 	begin_date = pd.to_datetime('1990-1-1')
# 	data = pd.to_datetime(data)
# 	try:
# 		number = (date-begin_date).days
# 	except:
# 		return "非法输入"
# 	# 如果隔的天数除5取余比3小说明这人在打渔 反之在晒网
# 	if number % 5 < 3:
# 		return "打渔"
# 	else:
# 		return "晒网"

# if __name__ == "__main__":
# 	now_day = input('请输入当前日期')
# 	judge(now_day)
'''

'''
# 蛇形矩阵
# while True:
#     try:
#         n, curNum = int(input()), 1
#         res = [[0 for i in range(n)] for j in range(n)]
#         for i in range(n):
#             for j in range(i + 1):
#                 res[i - j][j] = curNum
#                 curNum += 1
#         for i in res:
#             print(" ".join(map(str, (filter(lambda i: i != 0, i)))))
#     except:
#         break
'''





'''
某人从1990年1月1日起开始“三天打鱼两天晒网”，问这个人在以后的某一天中是“打鱼”还是“晒网”。
若输入时间小于开始时间或月份日期不合理，输出：“非法输入”。
'''
# import datetime
# in_ = input('>>>')
# st_ = datetime.datetime(year=1990,month=1,day=1) # 起点时间
# try:
#     in_time = datetime.datetime.strptime(in_,'%Y-%m-%d') # 用户输入时间
# except:
#     print('无效输入')
# else:
#     days = ((in_time - st_).days if (in_time - st_).days > 0 else 0) % 5# 实际间隔天数
#     l_ = ['打鱼'] * 3 + ['晒网'] * 2 + ['无效输入']
#     print(l_[days-1])

'''
输入一个正整数N（N不大于100），输出一个n行的蛇形矩阵。
示例输入：
5
示例输出：
1 3 6 10 15 
2 5 9 14  
4 8 13 
7 12
11
'''
# st_ = 1
# num_ = int(input('>>>'))
# max_ = int((1 + num_) * num_ / 2) # 最大值

# head = 1
# for var1 in range(num_): # 行数
#     for var2 in range(num_ - var1):
#         if var2 == 0:
#             a = var1 + 2 # 间隔的差值
#             s = head + a
#             print(head,end=' ')
#             head += (var1 + 1)
#             # 每行的行首等于 当前行数 + 1 + 上一行的行首
#         else:
#             print(s,end=' ')
#             a += 1
#             s += a
#             # 每一行后面的元素等于行首 + (当前行数+1) + (2,3,4)
#     print('')    
# else:
#     print('')

# a=eval(input(">>>"))
# for i in range(a):
#     if i==0:
#         for j in range(a):
#             t_j=j+1
#             print(int((t_j+1)/2*(t_j)),end=' ')
#     else:
#         for j in range(a-i):
#             t_j=j+i
#             print(int((t_j+2)/2*(t_j+1))-i,end=' ')
#     print(' ')
'''
​给定一个无序列表，取出列表中第二大的值
不能使用内置函数sort()，时间复杂度为O(n)
'''

# a = [1,21,3,125,13,41,23,21,43]
# max_ = -1
# max_2 = -1
# for var in a:
#     if var > max_:
#         max_2 = max_
#         max_ = var
#     elif var > max_2:
#         max_2 = var
# print(max_,max_2)




'''
给你一个字符串和一个单词词典，问这个字符串是否能被划分成字典中的单词。
比如如果词典是{"apple", "orange", "pie"}, “applepie”可以划分为apple/pie；
applepieapple 可以划分为 "apple/pie/apple", 但是“appie”就无法划分。
'''
'''
a = {'apple','orange','pie'}
var1 = 'applepie'
var2 = 'apple'

def func(var):
	# 递归方式获取字典
	for key in a:
		if var.find(key) == 0:
			print(key,end='/')
			var = var[len(key):]
			break
	else:
		return   # 没找到
	func(var)
'''
# func(var1)


# 万以内int数字转中文str  会了就很简单啦
def int_convert_yuan(num: int) -> str:
    dictChinese = {0: '零', 1: '壹', 2: '贰', 3: '叁', 4: '肆', 5: '伍', 6: '陆', 7: '柒', 8: '捌', 9: '玖'}
    unitChinese = {0: '圆', 1: '拾', 2: '佰', 3: '仟', 4: '萬'}
    num = str(num)[::-1]  # 利用enumerate返着取更方便
    ret = ''
    for index, i in enumerate(num):
        digit = dictChinese[int(i)]  # 数字
        unit = unitChinese[int(index)]  # 单位
        if ret.startswith('零') and digit == '零':  # 遇到两个零时不添加
            continue
        if digit == '零':  # 数字为零时单位不添加
            unit = ''
        ret = digit + unit + ret
    return ret  # 转换分的话就是判断下角是不是为零就行了,很简单  ret + 零贰分  陆角贰分 玖角